'''
Created on 09/05/2013

@author: jean
'''
from pm.database import db
from sqlalchemy import ForeignKey
class TiposItemAtributo(db.Model):
    '''
        Clase que representa los roles existentes en el sistema
    '''
    __tablename__ = 'tipo_item_atributo'
    id_tipo_item_atributo = db.Column(db.Integer, primary_key=True, nullable=False)
    '''
        Primary key de la tablas
    '''
    id_tipo_item = db.Column(db.Integer, ForeignKey('tipo_item.id_tipo_item'), nullable=False)
    '''
        Tipo de Item al que pertenece el atributo
    '''
    id_atributo = db.Column(db.Integer, ForeignKey('atributos.id_atributo'), nullable=False)
    '''
        El atributo definido para ese item
    '''
    valor =db.Column(db.String(500), nullable=False)
    '''
        Valor del atributo
    '''
    activo = db.Column(db.Boolean, nullable=False)
    
    def __init__(self,id_tipo_item,id_atributo,valor,activo = True):
        self.id_tipo_item = id_tipo_item
        self.id_atributo= id_atributo
        self.valor = valor
        self.activo = activo
        
    def __repr__(self):
        return '{id_tipo_item:%s, id_atributo:%s, valor:%s, activo:%s}' % (self.id_tipo_item, self.id_atributo, self.valor, self.activo)
    
    def __json__(self):
        '''
         devuelve el json que representa a TipoItemAtributos
        '''
        return {'id':self.id_tipo_item_atributo , 
                'id_tipo_item': self.id_tipo_item, 
                'id_atributo': self.id_atributo, 
                'valor': self.valor, 
                'activo': self.activo
                }